iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 4
0

前言

大家好,今天終於要稍微進入主題啦。昨天的教學有看完,應該都已經完成了 ROS 的安裝了吧。這篇要教的主要是一些 ROS 中常見的 Linux 語法,由於筆者本身也不是對 Linux 很了解,所以都會是很入門的指令,量也不多,初學者不需要擔心,應該很快就能記住並活用了。那我們就廢話不多說,開始進行下面的內容吧!

常用Linux語法

Linux 語法的使用於 ROS 中佔有非常重要且十分基礎的地位。由於 Ubuntu 是以 Linux 為架構的作業系統,因此 filesystem 中都所有操作都須透過終端機輸入指令來進行。像是基礎的移動檔案與創建資料夾等,都無法像 Window s系統般可以有較為直覺的介面操作。下列為較為常見的指令:

1. cd + 檔案路徑:

cd catkin_ws/src/

透過 cd +檔案路徑這個指令,可以進入到指定的檔案位址,由於 ROS 系統是一個非常大的網狀結構,我們所使用的各個資料都會放置在不同的資料夾,因此這個指令非常重要。執行成功後樣子如下:
https://ithelp.ithome.com.tw/upload/images/20200919/20129807nG0h5Li8CM.png
可以發現已經順利進入該資料夾了。

2. ls/ ls -la:

ls
ls -la

ls 是列出目前資料夾中可視檔案的指令,而 ls -la 為列出目前資料夾所有檔案(包含隱藏檔案)的指令。這邊以 ls 為例,執行成功後樣子如下:
https://ithelp.ithome.com.tw/upload/images/20200919/20129807a3SrpkR08Q.png
以上圖而言,就可以看到上面總共列出6個檔案,代表 catkin_ws/src/ 資料夾中有6個可視檔案,這個指令能方便我們查找所需資料。

3. pwd:

pwd

pwd 是顯示目前所在位置之路徑的指令,透過這個指令,我們可以快速了解在複雜的網狀資料夾結構中,我們目前的所處位址,類似迷宮中 GPS 的概念。執行成功後樣子如下:
https://ithelp.ithome.com.tw/upload/images/20200919/20129807LuNwJNAXap.png

4. touch + 檔案名稱:

touch test.py

touch 是建立新檔案的指令,有了這個指令,我們就可以建立屬於自己的檔案啦。執行成功後樣子如下:
https://ithelp.ithome.com.tw/upload/images/20200917/20129384uQav0Iw0s1.png
從上圖可以發現,筆者順利建立了一個名為 test 的 Python 檔。

5. mkdir + 資料夾名稱:

mkdir test

mkdir 是建立新資料夾的指令,有了這個指令,我們就可以建立屬於自己的資料夾,方便檔案分類。執行成功後樣子如下:
https://ithelp.ithome.com.tw/upload/images/20200917/20129384mYxRDhmDnb.png
從上圖可以發現,筆者順利建立了一個名為 test 的資料夾。

6. rm + 檔案/ rm -r + 資料夾:

rm test.py
rm -r test

rm 是刪除檔案的指令,而 rm -r 則是刪除資料夾的指令。執行成功後樣子如下:
https://ithelp.ithome.com.tw/upload/images/20200917/20129384Wd55Im8Yit.png
從上圖可以發現,剛才筆者建立的 Python 檔和 test 資料夾都已經順利刪除。

7. mv + 檔案/資料夾 + 移動路徑:

mv test.launch src

mv 是移動檔案/資料夾的指令,後面再添加移動路徑,就可以順利將檔案/資料夾移至指定的位址啦。執行成功後樣子如下:
https://ithelp.ithome.com.tw/upload/images/20200917/20129384FHCXt8vmpD.png
從上圖可以發現,筆者成功建立一個 test.launch,並利用 mv 將 test.launch 指定移動至 src 資料夾中,最後也順利移動完成。

8. cp + 檔案/資料夾 + 移動路徑:

cp test.launch src

cp 是複製檔案/資料夾的指令,和 mv 大同小異,差別只是移動與複製而已。執行成功後樣子如下:
https://ithelp.ithome.com.tw/upload/images/20200917/20129384ywHOflnFhZ.png
可以看到,透過 cp ,筆者成功將 test.launch 複製到 src 資料夾當中了。

9. vi:

首先我們必須先針對vi做介紹,vi 是 Linux 當中的預設文書編輯器,透過在 Ubuntu 的終端機當中使用 vi 這個指令,我們便能夠開始編輯文件檔案,若在目前的路徑下沒有此名稱的檔案時,系統會自動建立檔案。
在一開始安裝好 Ubuntu 後,系統會有最基本的 vi 軟體,建議各位可以先輸入下列指令下載完整版的 vi 軟體:

sudo apt-get install vim

在安裝完成後,讓我們輸入指令碼 vi <filename>,如以下範例,此時便會跳出新視窗顯示我們的檔案內容。當然這是筆者已經編輯過的檔案,若是讀者初次使用時應該會發現視窗當中沒有任何文字。

vi asd.py

https://ithelp.ithome.com.tw/upload/images/20200919/201298074mvT7NtIwK.png

此時稱為 vi 當中的一般模式,若想對檔案內部進行編輯,我們必須先按下 i 進入編輯模式,此時可以看到檔案中左下角顯示了 --插入--,如此我們便可以透過鍵盤輸入文字,對檔案進行編輯了。
https://ithelp.ithome.com.tw/upload/images/20200919/20129807cTGpPAGnMf.png

編輯好檔案後,若想退出編輯模式,我們可以按 Esc 來退出。退出後,若想進行儲存、離開檔案等操作,以下介紹幾個基本的 vi 內部的語法:

1. i         -進入編輯模式
2. Esc       -退出編輯模式
3. :w        -存檔
4. :wq       -存檔並離開vi
5. :q        -離開vi
6. :q!       -不儲存, 強制離開vi
7. :wq!      -強制儲存後離開vi
8. :set nu   -編輯模式中,顯示行數

10. sudo

sudo 是 Unix/Linux 平臺上的一個非常有用的工具,它允許一般用戶得以用系統管理員的身分執行某些指令,例如上述所提到的 apt-get install 即是在Linux系統上針對某些套件進行安裝、更新的指令。

結語

今天介紹了許多 Linux 的基本語法,這些語法在往後操作 Linux 終端機時都會經常使用到,因此還請各位熟記。明天開始就要正式的進入 ROS 相關主題了,請大家敬請期待!

https://ithelp.ithome.com.tw/upload/images/20200919/20129807SsU2sAp5G1.png


上一篇
[DAY 3]ROS基本環境設置2
下一篇
[DAY 5] Catckin工作區 && ROS Package的介紹
系列文
ROS系統控制自走車搭配點雲雷達(隧道檢測裝置)30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言